#ifndef _BARBARIAN_H_DACHI_
#define _BARBARIAN_H_DACHI_
#include "Character.h"
#include <fstream>

class Barbarian : public Character{
	
	public:
	Barbarian(std::string name, std::string race, bool is_male, bool hostile = false, Progress::ach killAch = Progress::ach(NONE, 0), int voice_pitch = 10, int level = 1, int exp_since_level_up = 0);
	void sleep();
	void gather(bool mana = false);
	int getConsumption(bool mag);
	int doAttack(bool mag = false);
	int attackPossible();
	void getStatus();
	std::vector<cmdalt> get_Battle_alternatives();
	int getAtk();
	void addAtk(int);
	int getStamina();
	int getMaxStamina();
	void addMaxStamina(int);
	void updateStamina(int change);
	
	void getStatusAllAttributes();
	
	void levelUp();
	bool equippable(Item& item);
	std::string getType();
	friend bool saveCharacterExtras (Barbarian&, std::ofstream&);
	friend Character* loadCharacter(std::ifstream &);
	
	void setInitialAttributes();
	protected:
	Barbarian(){};
	int atk;
	int stamina;
	int maxStamina;
};
#endif
